package com.project.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.project.bean.RoomBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface IRoomMapper extends BaseMapper<RoomBean> {
    /**
     * 根据条件查询房间
     *
     * @param pg      页数（默认1）
     * @param address 地址（默认null）
     * @param status  状态（默认null）
     * @param isIn    是否能住（默认null）
     * @param type    房间类型（默认null）
     * @return 房间分页对象
     */
    public IPage<RoomBean> findByItem(Page pg,
                                      @Param("address") String address,
                                      @Param("status") String status,
                                      @Param("isIn") String isIn,
                                      @Param("type") String type);

    /**
     * 按ID查询房间信息，同时查询房间已住人数
     *
     * @param id 房间ID
     * @return 房间对象
     */
    public RoomBean findById(int id);

    /**
     * 根据房间名称，返回房间的id
     *
     * @param name 房间名称
     * @return 房间id
     */
    RoomBean findByName(String name);
}
